Basic genomic regions exploration

Project: Example DiffBind.

Introduction

This report is meant to help explore a set of genomic regions and was generated using the regionReport (Collado-Torres, Jaffe, and Leek, 2015) package. While the report is rich, it is meant to just start the exploration of the results and exemplify some of the code used to do so. You will most likely need a more in-depth analysis for your specific data set.

Most plots were made with using ggplot2 (Wickham, 2009).

Code setup

#### Libraries needed

## Bioconductor
library('bumphunter')
## Loading required package: foreach
## Loading required package: iterators
library('derfinder')
library('derfinderPlot')
library('GenomeInfoDb')
library('GenomicRanges')
library('ggbio')
## Loading required package: ggplot2
## Need specific help about ggbio? try mailing 
##  the maintainer or visit http://tengfei.github.com/ggbio/
## 
## Attaching package: 'ggbio'
## The following objects are masked from 'package:ggplot2':
## 
##     geom_bar, geom_rect, geom_segment, ggsave, stat_bin,
##     stat_identity, xlim
## Transcription database to use by default
if(is.null(txdb)) {
    library('TxDb.Hsapiens.UCSC.hg19.knownGene')
    txdb <- TxDb.Hsapiens.UCSC.hg19.knownGene
}
## Loading required package: GenomicFeatures
## Loading required package: AnnotationDbi
## CRAN
library('ggplot2')
library('grid')
library('gridExtra')
library('knitr')
library('RColorBrewer')
library('mgcv')
## Loading required package: nlme
## 
## Attaching package: 'nlme'
## The following object is masked from 'package:Biostrings':
## 
##     collapse
## The following object is masked from 'package:IRanges':
## 
##     collapse
## This is mgcv 1.8-11. For overview type 'help("mgcv-package")'.
library('whisker')
library('DT')

## Working behind the scenes
# library('knitcitations')
# library('rmarkdown')
## Optionally
# library('knitrBootstrap')

#### Code setup

## For ggplot
tmp <- regions
names(tmp) <- seq_len(length(tmp))
regions.df <- as.data.frame(tmp)
regions.df$width <- width(tmp)
rm(tmp)

## Special subsets: need at least 3 points for a density plot
keepChr <- table(regions.df$seqnames) > 2
regions.df.plot <- subset(regions.df, seqnames %in% names(keepChr[keepChr]))

if(hasSignificant) {
    ## Keep only those sig
    regions.df.sig <- regions.df[significantVar, ]
    keepChr <- table(regions.df.sig$seqnames) > 2
    regions.df.sig <- subset(regions.df.sig, seqnames %in% names(keepChr[keepChr]))
}

## Find which chrs are present in the data set
chrs <- levels(seqnames(regions))

## areaVar initialize
areaVar <- NULL

Quality checks

for(i in seq_len(length(pvalueVars))) {
    densityVarName <- names(pvalueVars[i])
    densityVarName <- ifelse(is.null(densityVarName), pvalueVars[i], densityVarName)
   cat(knit_child(text = whisker.render(templatePvalueDensityInUse, list(varName = pvalueVars[i], densityVarName = densityVarName)), quiet = TRUE), sep = '\n')
}
## Warning: Removed 2 rows containing missing values (geom_bar).

Q-values

p1FDR <- ggplot(regions.df.plot, aes(x=FDR, colour=seqnames)) +
    geom_histogram(binwidth=.05, alpha=.5, position='identity') + xlim(0, 1) +
    labs(title='Histogram of Q-values') + 
    xlab('Q-values') +
    scale_colour_discrete(limits=chrs) + theme(legend.title=element_blank())
p1FDR

summary(mcols(regions)[['FDR']])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00000 0.04254 0.26030 0.34370 0.61370 0.99930

This is the numerical summary of the distribution of the Q-values.

FDRtable <- lapply(c(1e-04, 0.001, 0.01, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5,
    0.6, 0.7, 0.8, 0.9, 1), function(x) {
    data.frame('Cut' = x, 'Count' = sum(mcols(regions)[['FDR']] <= x))
})
FDRtable <- do.call(rbind, FDRtable)
if(outputIsHTML) {
    kable(FDRtable, format = 'markdown', align = c('c', 'c'))
} else {
    kable(FDRtable)
}
Cut Count
0.0001 50
0.0010 120
0.0100 262
0.0250 359
0.0500 465
0.1000 622
0.2000 800
0.3000 948
0.4000 1078
0.5000 1200
0.6000 1314
0.7000 1425
0.8000 1548
0.9000 1664
1.0000 1772

This table shows the number of regions with Q-values less or equal than some commonly used cutoff values.

## Warning: Removed 2 rows containing missing values (geom_bar).

P-values

p1p.value <- ggplot(regions.df.plot, aes(x=p.value, colour=seqnames)) +
    geom_histogram(binwidth=.05, alpha=.5, position='identity') + xlim(0, 1) +
    labs(title='Histogram of P-values') + 
    xlab('P-values') +
    scale_colour_discrete(limits=chrs) + theme(legend.title=element_blank())
p1p.value

summary(mcols(regions)[['p.value']])
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 0.0000089 0.1699000 0.5198000 0.4948000 0.8179000 0.9993000

This is the numerical summary of the distribution of the P-values.

p.valuetable <- lapply(c(1e-04, 0.001, 0.01, 0.025, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5,
    0.6, 0.7, 0.8, 0.9, 1), function(x) {
    data.frame('Cut' = x, 'Count' = sum(mcols(regions)[['p.value']] <= x))
})
p.valuetable <- do.call(rbind, p.valuetable)
if(outputIsHTML) {
    kable(p.valuetable, format = 'markdown', align = c('c', 'c'))
} else {
    kable(p.valuetable)
}
Cut Count
0.0001 7
0.0010 25
0.0100 96
0.0250 160
0.0500 231
0.1000 315
0.2000 479
0.3000 638
0.4000 763
0.5000 861
0.6000 1018
0.7000 1143
0.8000 1292
0.9000 1487
1.0000 1772

This table shows the number of regions with P-values less or equal than some commonly used cutoff values.

Region width

xrange <- range(log10(regions.df.plot$width))
p2a <- ggplot(regions.df.plot, aes(x=log10(width), colour=seqnames)) + 
    geom_line(stat='density') + labs(title='Density of region lengths') +
    xlab('Region width (log10)') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
p2b <- ggplot(regions.df.sig, aes(x=log10(width), colour=seqnames)) +
    geom_line(stat='density') +
    labs(title='Density of region lengths (significant only)') +
    xlab('Region width (log10)') + scale_colour_discrete(limits=chrs) +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p2a, p2b)

This plot shows the density of the region lengths for all regions. The bottom panel is restricted to significant regions.

for(i in seq_len(length(densityVars))) {
    densityVarName <- names(densityVars[i])
    densityVarName <- ifelse(is.null(densityVarName), densityVars[i], densityVarName)
   cat(knit_child(text = whisker.render(templateDensityInUse, list(varName = densityVars[i], densityVarName = densityVarName)), quiet = TRUE), sep = '\n')
}
## Warning: Removed 3 rows containing missing values (geom_bar).

## Warning: Removed 3 rows containing missing values (geom_bar).

Fold

xrange <- range(regions.df.plot[, 'Fold'])
p3aFold <- ggplot(regions.df.plot[is.finite(regions.df.plot[, 'Fold']), ], aes(x=Fold, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Fold') +
    xlab('Fold') +
    xlim(xrange) + theme(legend.title=element_blank())
p3bFold <- ggplot(regions.df.sig[is.finite(regions.df.sig[, 'Fold']), ], aes(x=Fold, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Fold (significant only)') +
    xlab('Fold') +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p3aFold, p3bFold)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

This plot shows the histogram of the Fold for all regions. The bottom panel is restricted to significant regions.

## Warning: Removed 3 rows containing missing values (geom_bar).

## Warning: Removed 3 rows containing missing values (geom_bar).

Mean concentration

xrange <- range(regions.df.plot[, 'Conc'])
p3aConc <- ggplot(regions.df.plot[is.finite(regions.df.plot[, 'Conc']), ], aes(x=Conc, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Mean concentration') +
    xlab('Mean concentration') +
    xlim(xrange) + theme(legend.title=element_blank())
p3bConc <- ggplot(regions.df.sig[is.finite(regions.df.sig[, 'Conc']), ], aes(x=Conc, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Mean concentration (significant only)') +
    xlab('Mean concentration') +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p3aConc, p3bConc)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

This plot shows the histogram of the Mean concentration for all regions. The bottom panel is restricted to significant regions.

## Warning: Removed 3 rows containing missing values (geom_bar).

## Warning: Removed 3 rows containing missing values (geom_bar).

Concentration (resistant)

xrange <- range(regions.df.plot[, 'Conc_Resistant'])
p3aConc_Resistant <- ggplot(regions.df.plot[is.finite(regions.df.plot[, 'Conc_Resistant']), ], aes(x=Conc_Resistant, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Concentration (resistant)') +
    xlab('Concentration (resistant)') +
    xlim(xrange) + theme(legend.title=element_blank())
p3bConc_Resistant <- ggplot(regions.df.sig[is.finite(regions.df.sig[, 'Conc_Resistant']), ], aes(x=Conc_Resistant, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Concentration (resistant) (significant only)') +
    xlab('Concentration (resistant)') +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p3aConc_Resistant, p3bConc_Resistant)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

This plot shows the histogram of the Concentration (resistant) for all regions. The bottom panel is restricted to significant regions.

## Warning: Removed 3 rows containing missing values (geom_bar).

## Warning: Removed 3 rows containing missing values (geom_bar).

Concentration (responsive)

xrange <- range(regions.df.plot[, 'Conc_Responsive'])
p3aConc_Responsive <- ggplot(regions.df.plot[is.finite(regions.df.plot[, 'Conc_Responsive']), ], aes(x=Conc_Responsive, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Concentration (responsive)') +
    xlab('Concentration (responsive)') +
    xlim(xrange) + theme(legend.title=element_blank())
p3bConc_Responsive <- ggplot(regions.df.sig[is.finite(regions.df.sig[, 'Conc_Responsive']), ], aes(x=Conc_Responsive, fill=seqnames)) +
    geom_histogram(alpha=.5, position='identity') +
    labs(title='Histogram of Concentration (responsive) (significant only)') +
    xlab('Concentration (responsive)') +
    xlim(xrange) + theme(legend.title=element_blank())
grid.arrange(p3aConc_Responsive, p3bConc_Responsive)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

This plot shows the histogram of the Concentration (responsive) for all regions. The bottom panel is restricted to significant regions.

Genomic overview

The following plots were made using ggbio (Yin, Cook, and Lawrence, 2012) which in turn uses ggplot2 (Wickham, 2009). For more details check plotOverview in derfinderPlot (Collado-Torres, Jaffe, and Leek, 2015).

P-values

## Choose what variable to show on the top
tmp <- regions
tmp$significant <- factor(significantVar, levels = c('TRUE', 'FALSE'))
if(!'area' %in% colnames(mcols(tmp))) {
    if(hasDensityVars) {
        tmp$area <- mcols(tmp)[[densityVars[1]]]
        areaVar <- densityVars[1]
        areaVar <- ifelse(is.null(names(areaVar)), densityVars[1], names(areaVar))
    } else {
        tmp$area <- 0
        areaVar <- NULL
    }
} else {
    areaVar <- 'area'
}
plotOverview(regions=tmp, type='pval', base_size=overviewParams$base_size, areaRel=overviewParams$areaRel, legend.position=c(0.97, 0.12))

rm(tmp)

This plot shows the genomic locations of the regions found in the analysis. The significant regions are highlighted and the Fold of the regions is shown on top of each chromosome (shown in a relative scale).

for(i in seq_len(length(pvalueVars))) {
    densityVarName <- names(pvalueVars[i])
    densityVarName <- ifelse(is.null(densityVarName), pvalueVars[i], densityVarName)
   cat(knit_child(text = whisker.render(templateManhattanInUse, list(varName = pvalueVars[i], densityVarName = densityVarName)), quiet = TRUE), sep = '\n')
}

Manhattan Q-values

regions.manhattan <- regions
mcols(regions.manhattan)[['FDR']] <- - log(mcols(regions.manhattan)[['FDR']], base = 10)
pManFDR <- plotGrandLinear(regions.manhattan, aes(y = FDR, colour = seqnames)) + theme(axis.text.x=element_text(angle=-90, hjust=0)) + ylab('-log10 Q-values')
## using coord:genome to parse x scale
pManFDR

rm(regions.manhattan)

This is a Manhattan plot for the Q-values for all regions. A single dot is shown for each region, where higher values in the y-axis mean that the Q-values are closer to zero.

Manhattan P-values

regions.manhattan <- regions
mcols(regions.manhattan)[['p.value']] <- - log(mcols(regions.manhattan)[['p.value']], base = 10)
pManp.value <- plotGrandLinear(regions.manhattan, aes(y = p.value, colour = seqnames)) + theme(axis.text.x=element_text(angle=-90, hjust=0)) + ylab('-log10 P-values')
## using coord:genome to parse x scale
pManp.value

rm(regions.manhattan)

This is a Manhattan plot for the P-values for all regions. A single dot is shown for each region, where higher values in the y-axis mean that the P-values are closer to zero.

Annotation

## Annotate regions with bumphunter
if(is.null(annotation)) {
    genes <- annotateTranscripts(txdb = txdb)
    annotation <- matchGenes(x = regions, subject = genes)
}


## Make the plot
plotOverview(regions=regions, annotation=annotation, type='annotation', base_size=overviewParams$base_size, areaRel=overviewParams$areaRel, legend.position=c(0.97, 0.12))

This genomic overview plot shows the annotation region type for the regions as determined using bumphunter (Jaffe, Murakami, Lee, Leek, et al., 2012). Note that the regions are shown only if the annotation information is available. Below is a table of the actual number of results per annotation region type.

annoReg <- table(annotation$region, useNA='always')
annoReg.df <- data.frame(Region=names(annoReg), Count=as.vector(annoReg))
if(outputIsHTML) {
    kable(annoReg.df, format = 'markdown', align=rep('c', 3))
} else {
    kable(annoReg.df)
}
Region Count
upstream 461
promoter 11
overlaps 5’ 35
inside 817
overlaps 3’ 7
close to 3’ 0
downstream 441
covers 0
NA 0

Annotation (significant)

plotOverview(regions=regions[significantVar, ], annotation=annotation[significantVar, ], type='annotation', base_size=overviewParams$base_size, areaRel=overviewParams$areaRel, legend.position=c(0.97, 0.12))

This genomic overview plot shows the annotation region type for the statistically significant regions. Note that the regions are shown only if the annotation information is available.

Best regions

Genomic states

Below is a table summarizing the number of genomic states per region as determined using derfinder (Collado-Torres, Frazee, Love, Irizarry, et al., 2015).

## Construct genomic state object
genomicState <- makeGenomicState(txdb = txdb, chrs = chrs, verbose = FALSE)
## 'select()' returned 1:1 mapping between keys and columns
## Annotate regions by genomic state
annotatedRegions <- annotateRegions(regions, genomicState$fullGenome, verbose = FALSE)

## Genomic states table
info <- do.call(rbind, lapply(annotatedRegions$countTable, function(x) { data.frame(table(x)) }))
colnames(info) <- c('Number of Overlapping States', 'Frequency')
info$State <- gsub('\\..*', '', rownames(info))
rownames(info) <- NULL
if(outputIsHTML) {
    kable(info, format = 'markdown', align=rep('c', 4))
} else {
    kable(info)
}
Number of Overlapping States Frequency State
0 1621 exon
1 129 exon
2 19 exon
3 3 exon
0 834 intergenic
1 936 intergenic
2 2 intergenic
0 913 intron
1 762 intron
2 87 intron
3 10 intron

The following is a venn diagram showing how many regions overlap known exons, introns, and intergenic segments, none of them, or multiple of these groups.

## Venn diagram for all regions
venn <- vennRegions(annotatedRegions, counts.col = 'blue', 
    main = 'Regions overlapping genomic states')

The following plot is the genomic states venn diagram only for the significant regions.

## Venn diagram for all regions
vennSig <- vennRegions(annotatedRegions, counts.col = 'blue', 
    main = 'Significant regions overlapping genomic states',
    subsetIndex = significantVar)

Region information

Below is an interactive table with the top 100 regions (out of 1772) as ranked by p-value . Inf and -Inf are shown as 1e100 and -1e100 respectively.

## Add annotation information
regions.df <- cbind(regions.df, annotation)

## Rank by p-value (first pvalue variable supplied)
if(hasPvalueVars){
    topRegions <- head(regions.df[order(regions.df[, pvalueVars[1]], 
        decreasing = FALSE), ], nBestRegions)
    topRegions <- cbind(data.frame('pvalueRank' = seq_len(nrow(topRegions))), 
        topRegions)
} else {
    topRegions <- head(regions.df, nBestRegions)
}

## Clean up -Inf, Inf if present
## More details at https://github.com/ramnathv/rCharts/issues/259
replaceInf <- function(df, colsubset=seq_len(ncol(df))) {
    for(i in colsubset) {
        inf.idx <- !is.finite(df[, i])
        if(any(inf.idx)) {
            inf.sign <- sign(df[inf.idx, i])
            df[inf.idx, i] <- inf.sign * 1e100
        }
    }
    return(df)
}
topRegions <- replaceInf(topRegions, which(sapply(topRegions, function(x) {
    class(x) %in% c('numeric', 'integer')})))

## Make the table
if(outputIsHTML) {
    greptext <- 'value$|area$|mean|log2FoldChange|pvalues$|qvalues$|fwer$'
    if(hasPvalueVars) {
        greptext <- paste0(paste(pvalueVars, collapse = '$|'), '$|', greptext)
    }
    if(hasDensityVars) {
        greptext <- paste0(paste(densityVars, collapse = '$|'), '$|', greptext)
    }
    datatable(topRegions, options = list(pagingType='full_numbers', pageLength=50, scrollX='100%'), rownames = FALSE) %>% formatRound(which(grepl(greptext, colnames(topRegions))), 3)
} else {
    ## Only print the top part if your output is a PDF file
    kable(head(topRegions, 20))
}

MA plot

The following is a MA plot of the resistant-responsive contrast.

library('DiffBind')
dba.plotMA(tamoxifen)

PCA plot

All

The following graphic is a PCA plot using the affinity data for all sites.

dba.plotPCA(tamoxifen, DBA_TISSUE, label = DBA_CONDITION)

Only DB

The following graphic is a PCA plot only using the differentially bound sites.

dba.plotPCA(tamoxifen, contrast = 1, th = .05, label = DBA_TISSUE)

The MA and PCA plots are further described in the DiffBind vignette.

Reproducibility

This report was generated in path /Users/lcollado/Dropbox/JHSPH/Code/regionReportSupp using the following call to renderReport():

## renderReport(regions = regions, project = "Example DiffBind", 
##     pvalueVars = c(`Q-values` = "FDR", `P-values` = "p-value"), 
##     densityVars = c(Fold = "Fold", `Mean concentration` = "Conc", 
##         `Concentration (resistant)` = "Conc_Resistant", `Concentration (responsive)` = "Conc_Responsive"), 
##     significantVar = regions$FDR < 0.1, annotation = annotation, 
##     nBestRegions = 100, customCode = file.path(getwd(), "DiffBind_custom.Rmd"), 
##     outdir = "DiffBind-example", output = "index", densityTemplates = densityTemplates)

Date the report was generated.

## [1] "2016-03-21 20:03:21 EDT"

Wallclock time spent generating the report.

## Time difference of 1.315 mins

R session information.

## Session info -----------------------------------------------------------------------------------------------------------
##  setting  value                       
##  version  R version 3.2.2 (2015-08-14)
##  system   x86_64, darwin13.4.0        
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  tz       America/New_York            
##  date     2016-03-21
## Packages ---------------------------------------------------------------------------------------------------------------
##  package                           * version  date       source                                   
##  acepack                             1.3-3.3  2014-11-24 CRAN (R 3.2.0)                           
##  amap                                0.8-14   2014-12-17 CRAN (R 3.2.0)                           
##  annotate                            1.48.0   2015-10-14 Bioconductor                             
##  AnnotationDbi                     * 1.32.3   2015-12-24 Bioconductor                             
##  AnnotationForge                     1.12.2   2016-01-16 Bioconductor                             
##  base64enc                           0.1-3    2015-07-28 CRAN (R 3.2.0)                           
##  BatchJobs                           1.6      2015-03-18 CRAN (R 3.2.0)                           
##  BBmisc                              1.9      2015-02-03 CRAN (R 3.2.0)                           
##  bibtex                              0.4.0    2014-12-31 CRAN (R 3.2.0)                           
##  Biobase                           * 2.30.0   2015-10-14 Bioconductor                             
##  BiocGenerics                      * 0.16.1   2015-11-06 Bioconductor                             
##  BiocInstaller                       1.20.1   2015-11-18 Bioconductor                             
##  BiocParallel                        1.4.3    2015-12-16 Bioconductor                             
##  biomaRt                             2.26.1   2015-11-23 Bioconductor                             
##  Biostrings                        * 2.38.4   2016-02-09 Bioconductor                             
##  biovizBase                          1.18.0   2015-10-14 Bioconductor                             
##  bitops                              1.0-6    2013-08-17 CRAN (R 3.2.0)                           
##  brew                                1.0-6    2011-04-13 CRAN (R 3.2.0)                           
##  BSgenome                            1.38.0   2015-10-14 Bioconductor                             
##  bumphunter                        * 1.10.0   2015-10-14 Bioconductor                             
##  Category                            2.36.0   2015-10-14 Bioconductor                             
##  caTools                             1.17.1   2014-09-10 CRAN (R 3.2.0)                           
##  checkmate                           1.7.1    2016-02-02 CRAN (R 3.2.3)                           
##  cluster                             2.0.3    2015-07-21 CRAN (R 3.2.2)                           
##  codetools                           0.2-14   2015-07-15 CRAN (R 3.2.2)                           
##  colorspace                          1.2-6    2015-03-11 CRAN (R 3.2.0)                           
##  DBI                               * 0.3.1    2014-09-24 CRAN (R 3.2.0)                           
##  derfinder                         * 1.5.19   2015-12-15 Bioconductor                             
##  derfinderHelper                     1.4.1    2015-11-03 Bioconductor                             
##  derfinderPlot                     * 1.5.4    2016-02-20 Bioconductor                             
##  devtools                            1.10.0   2016-01-23 CRAN (R 3.2.3)                           
##  dichromat                           2.0-0    2013-01-24 CRAN (R 3.2.0)                           
##  DiffBind                          * 1.16.3   2016-01-01 Bioconductor                             
##  digest                              0.6.9    2016-01-08 CRAN (R 3.2.3)                           
##  doRNG                               1.6      2014-03-07 CRAN (R 3.2.0)                           
##  DT                                * 0.1      2015-06-09 CRAN (R 3.2.0)                           
##  edgeR                               3.12.0   2015-10-14 Bioconductor                             
##  evaluate                            0.8      2015-09-18 CRAN (R 3.2.0)                           
##  fail                                1.3      2015-10-01 CRAN (R 3.2.0)                           
##  foreach                           * 1.4.3    2015-10-13 CRAN (R 3.2.0)                           
##  foreign                             0.8-66   2015-08-19 CRAN (R 3.2.0)                           
##  formatR                             1.2.1    2015-09-18 CRAN (R 3.2.0)                           
##  Formula                             1.2-1    2015-04-07 CRAN (R 3.2.0)                           
##  futile.logger                       1.4.1    2015-04-20 CRAN (R 3.2.0)                           
##  futile.options                      1.0.0    2010-04-06 CRAN (R 3.2.0)                           
##  gdata                               2.17.0   2015-07-04 CRAN (R 3.2.1)                           
##  genefilter                          1.52.1   2016-01-28 Bioconductor                             
##  GenomeInfoDb                      * 1.6.3    2016-01-26 Bioconductor                             
##  GenomicAlignments                 * 1.6.3    2016-01-06 Bioconductor                             
##  GenomicFeatures                   * 1.22.13  2016-02-11 Bioconductor                             
##  GenomicFiles                        1.6.2    2015-12-30 Bioconductor                             
##  GenomicRanges                     * 1.22.4   2016-01-30 Bioconductor                             
##  GGally                              1.0.1    2016-01-14 CRAN (R 3.2.3)                           
##  ggbio                             * 1.18.5   2016-02-13 Bioconductor                             
##  ggplot2                           * 2.0.0    2015-12-18 CRAN (R 3.2.3)                           
##  GO.db                               3.2.2    2015-10-15 Bioconductor                             
##  GOstats                             2.36.0   2015-10-14 Bioconductor                             
##  gplots                              2.17.0   2015-05-02 CRAN (R 3.2.0)                           
##  graph                               1.48.0   2015-10-14 Bioconductor                             
##  gridExtra                         * 2.0.0    2015-07-14 CRAN (R 3.2.0)                           
##  GSEABase                            1.32.0   2015-10-14 Bioconductor                             
##  gtable                              0.1.2    2012-12-05 CRAN (R 3.2.0)                           
##  gtools                              3.5.0    2015-05-29 CRAN (R 3.2.1)                           
##  highr                               0.5.1    2015-09-18 CRAN (R 3.2.0)                           
##  Hmisc                               3.17-1   2015-12-18 CRAN (R 3.2.3)                           
##  htmltools                           0.3      2015-12-29 CRAN (R 3.2.3)                           
##  htmlwidgets                         0.5      2015-06-21 CRAN (R 3.2.1)                           
##  httr                                1.1.0    2016-01-28 CRAN (R 3.2.3)                           
##  hwriter                             1.3.2    2014-09-10 CRAN (R 3.2.0)                           
##  IRanges                           * 2.4.7    2016-02-09 Bioconductor                             
##  iterators                         * 1.0.8    2015-10-13 CRAN (R 3.2.0)                           
##  jsonlite                            0.9.19   2015-11-28 CRAN (R 3.2.2)                           
##  KernSmooth                          2.23-15  2015-06-29 CRAN (R 3.2.2)                           
##  knitcitations                       1.0.7    2015-10-28 CRAN (R 3.2.0)                           
##  knitr                             * 1.12.3   2016-01-22 CRAN (R 3.2.3)                           
##  knitrBootstrap                      1.0.0    2015-05-19 Github (jimhester/knitrBootstrap@76c41f0)
##  labeling                            0.3      2014-08-23 CRAN (R 3.2.0)                           
##  lambda.r                            1.1.7    2015-03-20 CRAN (R 3.2.0)                           
##  lattice                             0.20-33  2015-07-14 CRAN (R 3.2.2)                           
##  latticeExtra                        0.6-28   2016-02-09 CRAN (R 3.2.3)                           
##  limma                             * 3.26.8   2016-02-12 Bioconductor                             
##  locfit                            * 1.5-9.1  2013-04-20 CRAN (R 3.2.0)                           
##  lubridate                           1.5.0    2015-12-03 CRAN (R 3.2.3)                           
##  magrittr                            1.5      2014-11-22 CRAN (R 3.2.0)                           
##  markdown                            0.7.7    2015-04-22 CRAN (R 3.2.0)                           
##  Matrix                              1.2-3    2015-11-28 CRAN (R 3.2.2)                           
##  matrixStats                         0.50.1   2015-12-15 CRAN (R 3.2.3)                           
##  memoise                             1.0.0    2016-01-29 CRAN (R 3.2.3)                           
##  mgcv                              * 1.8-11   2016-01-24 CRAN (R 3.2.3)                           
##  munsell                             0.4.3    2016-02-13 CRAN (R 3.2.3)                           
##  nlme                              * 3.1-124  2016-01-20 CRAN (R 3.2.3)                           
##  nnet                                7.3-12   2016-02-02 CRAN (R 3.2.3)                           
##  OrganismDbi                         1.12.1   2015-12-23 Bioconductor                             
##  pheatmap                            1.0.8    2015-12-11 CRAN (R 3.2.3)                           
##  pkgmaker                            0.22     2014-05-14 CRAN (R 3.2.0)                           
##  plyr                                1.8.3    2015-06-12 CRAN (R 3.2.1)                           
##  qvalue                              2.2.2    2016-01-08 Bioconductor                             
##  R6                                  2.1.2    2016-01-26 CRAN (R 3.2.3)                           
##  RBGL                                1.46.0   2015-10-14 Bioconductor                             
##  RColorBrewer                      * 1.1-2    2014-12-07 CRAN (R 3.2.0)                           
##  Rcpp                                0.12.3   2016-01-10 CRAN (R 3.2.3)                           
##  RCurl                               1.95-4.7 2015-06-30 CRAN (R 3.2.1)                           
##  RefManageR                          0.10.6   2016-02-15 CRAN (R 3.2.3)                           
##  regionReport                      * 1.5.11   2016-03-21 Bioconductor                             
##  registry                            0.3      2015-07-08 CRAN (R 3.2.1)                           
##  reshape                             0.8.5    2014-04-23 CRAN (R 3.2.0)                           
##  reshape2                            1.4.1    2014-12-06 CRAN (R 3.2.0)                           
##  rjson                               0.2.15   2014-11-03 CRAN (R 3.2.0)                           
##  RJSONIO                             1.3-0    2014-07-28 CRAN (R 3.2.0)                           
##  rmarkdown                           0.9.5    2016-02-22 CRAN (R 3.2.3)                           
##  rngtools                            1.2.4    2014-03-06 CRAN (R 3.2.0)                           
##  rpart                               4.1-10   2015-06-29 CRAN (R 3.2.2)                           
##  Rsamtools                         * 1.22.0   2015-10-14 Bioconductor                             
##  RSQLite                           * 1.0.0    2014-10-25 CRAN (R 3.2.0)                           
##  rtracklayer                         1.30.2   2016-02-06 Bioconductor                             
##  S4Vectors                         * 0.8.11   2016-01-29 Bioconductor                             
##  scales                              0.3.0    2015-08-25 CRAN (R 3.2.0)                           
##  sendmailR                           1.2-1    2014-09-21 CRAN (R 3.2.0)                           
##  ShortRead                           1.28.0   2015-10-14 Bioconductor                             
##  stringi                             1.0-1    2015-10-22 CRAN (R 3.2.0)                           
##  stringr                             1.0.0    2015-04-30 CRAN (R 3.2.0)                           
##  SummarizedExperiment              * 1.0.2    2016-01-01 Bioconductor                             
##  survival                            2.38-3   2015-07-02 CRAN (R 3.2.2)                           
##  systemPipeR                         1.4.8    2016-01-27 Bioconductor                             
##  TxDb.Hsapiens.UCSC.hg19.knownGene * 3.2.2    2015-10-15 Bioconductor                             
##  VariantAnnotation                   1.16.4   2015-12-09 Bioconductor                             
##  whisker                           * 0.3-2    2013-04-28 CRAN (R 3.2.0)                           
##  XML                                 3.98-1.3 2015-06-30 CRAN (R 3.2.0)                           
##  xtable                              1.8-2    2016-02-05 CRAN (R 3.2.3)                           
##  XVector                           * 0.10.0   2015-10-14 Bioconductor                             
##  yaml                                2.1.13   2014-06-12 CRAN (R 3.2.0)                           
##  zlibbioc                            1.16.0   2015-10-14 Bioconductor

Bibliography

This report was created with regionReport (Collado-Torres, Jaffe, and Leek, 2015) using rmarkdown (Allaire, Cheng, Xie, McPherson, et al., 2016) while knitr (Xie, 2014) and DT (Xie, 2015) were running behind the scenes. whisker (de Jonge, 2013) was used for creating templates for the pvalueVars and densityVars.

Citations made with knitcitations (Boettiger, 2015). The BibTeX file can be found here.

[1] J. Allaire, J. Cheng, Y. Xie, J. McPherson, et al. rmarkdown: Dynamic Documents for R. R package version 0.9.5. 2016. URL: http://CRAN.R-project.org/package=rmarkdown.

[2] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.7. 2015. URL: http://CRAN.R-project.org/package=knitcitations.

[3] L. Collado-Torres, A. C. Frazee, M. I. Love, R. A. Irizarry, et al. “derfinder: Software for annotation-agnostic RNA-seq differential expression analysis”. In: bioRxiv (2015). DOI: 10.1101/015370. URL: http://www.biorxiv.org/content/early/2015/02/19/015370.abstract.

[4] L. Collado-Torres, A. E. Jaffe and J. T. Leek. derfinderPlot: Plotting functions for derfinder. https://github.com/leekgroup/derfinderPlot - R package version 1.5.4. 2015. URL: http://www.bioconductor.org/packages/release/bioc/html/derfinderPlot.html.

[5] L. Collado-Torres, A. E. Jaffe and J. T. Leek. regionReport: Generate HTML reports for exploring a set of regions. https://github.com/leekgroup/regionReport - R package version 1.5.11. 2015. URL: http://www.bioconductor.org/packages/regionReport.

[6] A. E. Jaffe, P. Murakami, H. Lee, J. T. Leek, et al. “Bump hunting to identify differentially methylated regions in epigenetic epidemiology studies”. In: International journal of epidemiology 41.1 (2012), pp. 200–209. DOI: 10.1093/ije/dyr238.

[7] E. de Jonge. whisker: mustache for R, logicless templating. R package version 0.3-2. 2013. URL: http://CRAN.R-project.org/package=whisker.

[8] H. Wickham. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2009. ISBN: 978-0-387-98140-6. URL: http://had.co.nz/ggplot2/book.

[9] Y. Xie. DT: A Wrapper of the JavaScript Library ‘DataTables’. R package version 0.1. 2015. URL: http://CRAN.R-project.org/package=DT.

[10] Y. Xie. “knitr: A Comprehensive Tool for Reproducible Research in R”. In: Implementing Reproducible Computational Research. Ed. by V. Stodden, F. Leisch and R. D. Peng. ISBN 978-1466561595. Chapman and Hall/CRC, 2014. URL: http://www.crcpress.com/product/isbn/9781466561595.

[11] T. Yin, D. Cook and M. Lawrence. “ggbio: an R package for extending the grammar of graphics for genomic data”. In: Genome Biology 13.8 (2012), p. R77.